﻿

CREATE PROCEDURE [dbo].[StergeUnitate] 
 @CodUnitate smallint,
 @faraStergereTabelaUnitati bit
 
 
 AS
BEGIN
DECLARE @NrDoc AS int
SET @NrDoc = 0

BEGIN TRAN
IF @CodUnitate=0
	GOTO Eroare2 
	
	
EXECUTE [sankit_StergeUnitate] @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 
EXECUTE amix_StergeUnitate @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 
EXECUTE exbug_StergeUnitate @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 
EXECUTE resuma_StergeUnitate @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 
EXECUTE fares_StergeUnitate @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 
EXECUTE balcon_StergeUnitate @CodUnitate
IF @@ERROR <>0
    GOTO Eroare 

PRINT 'Departamente'
DELETE FROM [Departamente] WHERE [CodUnitate]=@CodUnitate
IF @@ERROR <>0
    GOTO Eroare 

PRINT 'SetariLocale'
DELETE FROM [SetariLocale] WHERE [CodUnitate]=@CodUnitate
IF @@ERROR <>0
    GOTO Eroare 


UPDATE [Unitati] SET [UnitateSursa]=0 WHERE [UnitateSursa]=@CodUnitate

IF @faraStergereTabelaUnitati=0
BEGIN
	PRINT 'Unitati'
	DELETE FROM [Unitati] WHERE [CodUnitate]=@CodUnitate
	IF @@ERROR <>0
		GOTO Eroare 
END
    


COMMIT TRAN    
GOTO Gata
Eroare:
  ROLLBACK
  RAISERROR ('Eroare la executia procedurii StergeUnitate',-1,0)
Eroare2:
  ROLLBACK
  RAISERROR ('Unitatea demonstrativa nu se poate sterge!',-1,0)
  
Exista_Documente:
  ROLLBACK
  RAISERROR ('Unitatea nu poate fi stearsa deoarece contine documente!',-1,0)
Exista_Rulaje_Documente:
  ROLLBACK
  RAISERROR ('Unitatea nu poate fi stearsa deoarece contine rulaje - documente!',-1,0)

Gata:
END